Skip to content

Implement rate limiting per user tier #506

Merged
Devsol-01 merged 1 commit intoDevsol-01:mainfrom
Joewizy:feat/rate-limit
Mar 29, 2026
Merged

Implement rate limiting per user tier #506
Devsol-01 merged 1 commit intoDevsol-01:mainfrom
Joewizy:feat/rate-limit

Conversation

@Joewizy
Copy link
Copy Markdown
Contributor

@Joewizy Joewizy commented Mar 29, 2026

Closes #465

Summary

  • Extend throttler to apply different rate limits based on user tier (free, verified, premium, enterprise, admin)
  • Tier derived from JWT payload: role (ADMIN) and kycStatus (APPROVED → verified tier)
  • Inject X-RateLimit-Limit, X-RateLimit-Tier, Retry-After, and X-RateLimit-Reset headers
  • Add admin dashboard endpoints for monitoring violations: summary, recent list, and per-user queries
  • Record violations in an in-memory circular buffer (last 1000 entries)

Test plan

  • Unauthenticated requests get free tier limits (60/min)
  • KYC-approved users get verified tier limits (150/min)
  • Admin users get admin tier limits (1000/min)
  • Response headers include X-RateLimit-Limit and X-RateLimit-Tier
  • 429 responses include Retry-After and X-RateLimit-Reset headers
  • Admin GET /admin/rate-limits/summary returns violation stats
  • Admin GET /admin/rate-limits/violations returns recent violations
  • Non-admin users cannot access rate limit monitoring endpoints

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nestera Ready Ready Preview, Comment Mar 29, 2026 11:33am

@Devsol-01 Devsol-01 merged commit a4ac8da into Devsol-01:main Mar 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Rate Limiting per User Tier

2 participants